/*
    代码压缩
*/

const path = require('path');
const uglify = require('uglifyjs-webpack-plugin'); // 代码压缩，不需安装就可使用

module.exports = {
    entry: { // 入口配置项
        file01: './src/entry01.js', // 多入口文件1，file1可以任意写
        file02: './src/entry02.js' // 多入口文件2，file2可以任意写
    },
    output: { // 出口配置项
        path: path.resolve(__dirname, 'dist'), // 绝对路径，注1
        filename: '[name].js' // 多出口文件名,动态[name]的值呼应entry选项里的entry1和entry2
    },
    module: { // 打包css、图片转换、压缩，把sass转换为css、es6转换为浏览器兼容的代码、react的语法转换成js代码
        rules: [
            {
                test:/\.css$/,
                use:['style-loader','css-loader']
                
            }
        ]
    },
    plugins: [ // 插件
        new uglify() // 代码压缩，压缩的对象是entry.js
    ],
    devServer: { // 开发服务（开发环境）
        contentBase: path.resolve(__dirname, 'dist'), // 热更新，监听资源绝对路径
        host: '192.168.31.163', // 服务器地址
        compress: true, // 启用服务器压缩
        port: 1717 // 端口，可以任意取
    }
}
/*
    注1:
        使用webpack命令查看打包压缩效果。如果用npm run server可能会报错也无法打包，这是因为devServer选项是针对开发环境的，而开发环境不支持代码压缩，
        这样无法在开发时调试代码打断点。
 */